From 06204ee1f008f453b202ba13e8caed9041f35289 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Thu, 2 Apr 2020 10:32:08 +0100 Subject: [PATCH] Add proposed patch to make valgrind suppressions work on Debian --- debian/patches/series | 1 + ...pressions-file-for-lib-lib64-and-mul.patch | 443 ++++++++++++++++++ 2 files changed, 444 insertions(+) create mode 100644 debian/patches/series create mode 100644 debian/patches/supp-Use-a-single-suppressions-file-for-lib-lib64-and-mul.patch diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000000..6b308546dc --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +supp-Use-a-single-suppressions-file-for-lib-lib64-and-mul.patch diff --git a/debian/patches/supp-Use-a-single-suppressions-file-for-lib-lib64-and-mul.patch b/debian/patches/supp-Use-a-single-suppressions-file-for-lib-lib64-and-mul.patch new file mode 100644 index 0000000000..777c37cea3 --- /dev/null +++ b/debian/patches/supp-Use-a-single-suppressions-file-for-lib-lib64-and-mul.patch @@ -0,0 +1,443 @@ +From: Simon McVittie +Date: Thu, 2 Apr 2020 09:18:55 +0100 +Subject: supp: Use a single suppressions file for lib, lib64 and multiarch + +In addition to the traditional library directory lib and the 64-bit +multilib directory lib64, this will cover Debian-style multiarch +(lib/x86_64-linux-gnu etc.), Arch Linux 32-bit (lib32), x32 and +various others. + +Signed-off-by: Simon McVittie +--- + gtk.supp | 54 +++++++------ + gtk64.supp | 253 ------------------------------------------------------------ + meson.build | 2 +- + 3 files changed, 33 insertions(+), 276 deletions(-) + delete mode 100644 gtk64.supp + +diff --git a/gtk.supp b/gtk.supp +index 7c57e5e..37d6d65 100644 +--- a/gtk.supp ++++ b/gtk.supp +@@ -33,55 +33,55 @@ + Memcheck:Leak + fun:calloc + ... +- obj:/usr/lib/dri/radeonsi_dri.so ++ obj:/usr/lib*/dri/radeonsi_dri.so + } + + # mesa driver stuff + { + i965 addr4 + Memcheck:Addr4 +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { + i965 addr8 + Memcheck:Addr8 +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { + i965 memcpy + Memcheck:Addr8 + fun:memcpy* +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { + i965 memcpy + Memcheck:Addr2 + fun:memcpy* +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { + mesa memcmp 8 + Memcheck:Addr8 + fun:*memcmp* +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { + mesa memcmp 1 + Memcheck:Addr1 + fun:*memcmp* +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { + mesa memset 8 + Memcheck:Addr8 + fun:*memset* +- obj:/usr/lib/dri/i965_dri.so ++ obj:/usr/lib*/dri/i965_dri.so + } + + { +@@ -123,7 +123,7 @@ + Memcheck:Leak + match-leak-kinds: definite + fun:malloc +- obj:/usr/lib/dri/i965_dri.so* ++ obj:/usr/lib*/dri/i965_dri.so* + } + + { +@@ -187,8 +187,8 @@ + Memcheck:Leak + match-leak-kinds: definite + fun:malloc +- obj:/usr/lib/libfontconfig.so* +- obj:/usr/lib/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* + fun:FcFontSetList + } + +@@ -197,8 +197,8 @@ + Memcheck:Leak + match-leak-kinds: definite + fun:realloc +- obj:/usr/lib/libfontconfig.so* +- obj:/usr/lib/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* + fun:FcFontRenderPrepare + } + +@@ -207,8 +207,8 @@ + Memcheck:Leak + match-leak-kinds: definite + fun:realloc +- obj:/usr/lib/libfontconfig.so* +- obj:/usr/lib/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* + fun:FcDefaultSubstitute + } + +@@ -216,8 +216,8 @@ + { + pixman_image_composite32 + Memcheck:Cond +- obj:/usr/lib/libpixman-1.so* +- obj:/usr/lib/libpixman-1.so* ++ obj:/usr/lib*/libpixman-1.so* ++ obj:/usr/lib*/libpixman-1.so* + fun:pixman_image_composite32 + } + +@@ -227,9 +227,9 @@ + Memcheck:Leak + match-leak-kinds: definite + fun:realloc +- obj:/usr/lib/libfontconfig.so* +- obj:/usr/lib/libfontconfig.so* +- obj:/usr/lib/libcairo.so* ++ obj:/usr/lib*/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* ++ obj:/usr/lib*/libcairo.so* + fun:pango_cairo_fc_font_map_fontset_key_substitute + } + +@@ -237,7 +237,17 @@ + pango 2 + Memcheck:Leak + fun:realloc +- obj:/usr/lib/libfontconfig.so* +- obj:/usr/lib/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* ++ obj:/usr/lib*/libfontconfig.so* + fun:_cairo_ft_font_options_substitute + } ++ ++# GLib ++{ ++ glib 1 ++ Memcheck:Leak ++ match-leak-kinds: definite ++ fun:malloc ++ fun:g_malloc ++ fun:g_quark_init ++} +diff --git a/gtk64.supp b/gtk64.supp +deleted file mode 100644 +index a0411f0..0000000 +--- a/gtk64.supp ++++ /dev/null +@@ -1,253 +0,0 @@ +-# Actual GTK things +-{ +- GtkWidgetClass action GPtrArray +- Memcheck:Leak +- fun:malloc +- fun:g_malloc +- fun:g_slice_alloc +- fun:g_ptr_array_sized_new +- fun:g_ptr_array_new +- fun:gtk_widget_class_add_action +-} +- +-{ +- GTK media extension gio modules +- Memcheck:Leak +- match-leak-kinds: definite +- fun:malloc +- fun:g_malloc +- fun:g_slice_alloc +- fun:g_slice_alloc0 +- fun:g_type_create_instance +- fun:g_object_new_internal +- fun:g_object_new_with_properties +- fun:g_object_new +- fun:g_io_module_new +- fun:g_io_modules_scan_all_in_directory_with_scope +- fun:gtk_media_file_extension_init +-} +- +-# AMD driver +-{ +- radeonsi_dri general +- Memcheck:Leak +- fun:calloc +- ... +- obj:/usr/lib64/dri/radeonsi_dri.so +-} +- +-# mesa driver stuff +-{ +- i965 addr4 +- Memcheck:Addr4 +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- i965 addr8 +- Memcheck:Addr8 +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- i965 memcpy +- Memcheck:Addr8 +- fun:memcpy* +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- i965 memcpy +- Memcheck:Addr2 +- fun:memcpy* +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- mesa memcmp 8 +- Memcheck:Addr8 +- fun:*memcmp* +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- mesa memcmp 1 +- Memcheck:Addr1 +- fun:*memcmp* +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- mesa memset 8 +- Memcheck:Addr8 +- fun:*memset* +- obj:/usr/lib64/dri/i965_dri.so +-} +- +-{ +- mesa realpath +- Memcheck:Leak +- match-leak-kinds: definite +- fun:malloc +- fun:realpath@@GLIBC_2.3 +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- fun:epoxy_eglInitialize_global_rewrite_ptr +-} +- +-{ +- mesa calloc +- Memcheck:Leak +- match-leak-kinds: definite +- fun:calloc +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- fun:epoxy_eglInitialize_global_rewrite_ptr +-} +- +-{ +- mesa malloc +- Memcheck:Leak +- match-leak-kinds: definite +- fun:malloc +- obj:/usr/lib64/dri/i965_dri.so* +-} +- +-{ +- mesa glReadPixels +- Memcheck:Addr16 +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- fun:epoxy_glReadPixels_global_rewrite_ptr +-} +- +-{ +- epoxy glxQueryServerString 1 +- Memcheck:Leak +- fun:malloc +- fun:XextAddDisplay +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- fun:epoxy_glXQueryServerString_global_rewrite_ptr +- +-} +- +-{ +- epoxy glxQueryServerString 2 +- Memcheck:Leak +- match-leak-kinds: definite +- fun:malloc +- fun:realpath* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- fun:epoxy_glXQueryServerString_global_rewrite_ptr +-} +- +-{ +- epoxy glGetTexImage +- Memcheck:Addr16 +- obj:* +- obj:* +- obj:* +- obj:* +- obj:* +- fun:epoxy_glGetTexImage_global_rewrite_ptr +-} +- +- +- +- +-# Fontconfig +-{ +- FcFontSetList +- Memcheck:Leak +- match-leak-kinds: definite +- fun:malloc +- obj:/usr/lib64/libfontconfig.so* +- obj:/usr/lib64/libfontconfig.so* +- fun:FcFontSetList +-} +- +-{ +- FcFontRenderPrepare +- Memcheck:Leak +- match-leak-kinds: definite +- fun:realloc +- obj:/usr/lib64/libfontconfig.so* +- obj:/usr/lib64/libfontconfig.so* +- fun:FcFontRenderPrepare +-} +- +-{ +- FcDefaultSubstitute +- Memcheck:Leak +- match-leak-kinds: definite +- fun:realloc +- obj:/usr/lib64/libfontconfig.so* +- obj:/usr/lib64/libfontconfig.so* +- fun:FcDefaultSubstitute +-} +- +-# Pixman +-{ +- pixman_image_composite32 +- Memcheck:Cond +- obj:/usr/lib64/libpixman-1.so* +- obj:/usr/lib64/libpixman-1.so* +- fun:pixman_image_composite32 +-} +- +-# Pango +-{ +- pango 1 +- Memcheck:Leak +- match-leak-kinds: definite +- fun:realloc +- obj:/usr/lib64/libfontconfig.so* +- obj:/usr/lib64/libfontconfig.so* +- obj:/usr/lib64/libcairo.so* +- fun:pango_cairo_fc_font_map_fontset_key_substitute +-} +- +-{ +- pango 2 +- Memcheck:Leak +- fun:realloc +- obj:/usr/lib64/libfontconfig.so* +- obj:/usr/lib64/libfontconfig.so* +- fun:_cairo_ft_font_options_substitute +-} +- +-# GLib +-{ +- glib 1 +- Memcheck:Leak +- match-leak-kinds: definite +- fun:malloc +- fun:g_malloc +- fun:g_quark_init +-} +diff --git a/meson.build b/meson.build +index 92405f6..7eee560 100644 +--- a/meson.build ++++ b/meson.build +@@ -803,7 +803,7 @@ meson.add_install_script('build-aux/meson/post-install.py', + if host_machine.system() != 'windows' + # Install Valgrind suppression files (except on Windows, + # as Valgrind is currently not supported on Windows) +- install_data('gtk.supp', 'gtk64.supp', ++ install_data('gtk.supp', + install_dir : join_paths(gtk_datadir, 'gtk-4.0', 'valgrind')) + endif + -- 2.30.2